package com.ls.mysql.service;

import com.alibaba.fastjson.JSONObject;
import com.ls.mysql.entity.YzUsers;
import com.ls.mysql.util.Page;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;


/**
 * User服务层接口
 */
public interface UserService {
    //用户登陆
    public YzUsers UserLogin(@Param("account") String account, @Param("password") String password);

    //用户注册
    public int UserRegister(@Param("user") YzUsers user);

    //判断user_id是否存在
    public int isExistUser(@Param("id") String UUID);

    //用户注册使用，登陆的账号username必须唯一：检索是否存在
    public int isExistUsername(@Param("username") String username);

    //用户修改个人信息
    public int updateUser(@Param("user") YzUsers user);

    //删除用户
    public int deleteUser(@Param("id") String user_id);

    //查询所有用户，分页
    public Page<YzUsers> queryAllUsers(Integer pageNum, Integer pageSize);

    public int queryTotalUser();

    //批量插入用户
    public int BatchInsertUsers(List<Map<String, String>> list, Integer status);

    //批量查询用户List<user_id>
    List<YzUsers> BatchFind(List<String> user_ids);

    // 测试数据生成接口
    public JSONObject ThreadTest(HttpServletRequest request);

    // 查询所有用户，测试实现mybatis分页插件
    public List<YzUsers> findAllUsers();
}
